One of the most common operations arising in the field of digital signal processing is that often known as the multiply accumulate operation. An example where such an operation is used is in the calculation of the inner product of two vectors. If X and Y are vectors in a space having T orthogonal dimensions, the inner product, Z, is defined to be ##EQU1## where X.sub.i is the i.sub.th component of X and Y.sub.i is the i.sub.th component of Y. Using prior art procedures Z is calculated by producing the products X.sub.i Y.sub.i and accumulating the results for all values of i. If T is large the number of such multiplications will also be large and the process may consume a significant fraction of the time required to perform the signal processing task at hand. A system which could perform a multiply accumulate function while bypassing the repetitive multiplications would therefore reduce the time required for many signal processing procedures.